package cn.quevo.ucenter.server.service;

import cn.quevo.core.exception.CustomException;
import cn.quevo.ucenter.core.entity.User;
import cn.quevo.ucenter.server.entity.query.UserQuery;

/**
 * 登录账号Service接口
 * 
 * @author July july_sky@foxmail.com
 * @date 2018年3月26日 下午4:52:46
 * @Copyright ©2015-2035 湘豫(北京)科技有限公司. All Rights Reserved.
 * @version 1.0
 */
public interface UserService {

    /**
     * 创建用户
     * 
     * @author July july_sky@foxmail.com
     * @date 2018年3月26日 下午4:56:45
     * @param user
     * @return
     * @throws CustomException
     */
    Integer createUser(User user) throws CustomException;
    
    /**
     * 更新密码
     * 
     * @author July july_sky@foxmail.com
     * @date 2018年3月26日 下午4:57:08
     * @param user
     * @return
     * @throws CustomException
     */
    Integer updateUserPasswd(User user) throws CustomException;
    
    /**
     * 注销账号
     * 
     * @author July july_sky@foxmail.com
     * @date 2018年3月26日 下午4:57:42
     * @param user
     * @return
     * @throws CustomException
     */
    Integer destroyUser(User user) throws CustomException;
    
    /**
     * 根据用户名获取用户信息
     * 
     * @author July july_sky@foxmail.com
     * @date 2018年3月26日 下午5:03:52
     * @param userQuery
     * @return
     * @throws CustomException
     */
    User getUserByName(UserQuery userQuery) throws CustomException;
}
